package Dom4j;

import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;


public class Dom4jTest {

    @Test
    public void test1() throws Exception {
        //第一步，先创建SaxReader对象。这个对象，用于读取xml文件，并创建Document
        //要创建一个Document对象，需要我们先创建一个SAXReader对象
        SAXReader saxReader = new SAXReader();
        //这个对象用于读取xml文件，然后返回一个Document。
        Document document = saxReader.read("H:/Code_Workspace/java_code/vscodeJava/demo02_dom4j/src/Dom4j/books.xml");
        System.out.println(document);
    }

    @Test
    public void readXML() throws DocumentException{
        SAXReader saxReader = new SAXReader();
        //这个对象用于读取xml文件，然后返回一个Document。
        Document document = saxReader.read("H:/Code_Workspace/java_code/vscodeJava/demo02_dom4j/src/Dom4j/books.xml");
        Element root=document.getRootElement();
        List<Element> books=root.elements("book");

        for(Element book : books){
            //测试
            //System.out.println(book.asXML());
            //拿到book下面的name元素对象
            Element nameElement=book.element("name");
            //拿到book下面的price元素对象
            Element priceElement=book.element("price");
            //拿到book下面的author元素对象
            Element authorElement=book.element("author");
            //再通过getText()方法拿到起始标签和结束标签之间的文本内容
            System.out.println("书名"+nameElement.getText()+",价格:"+priceElement.getText()+",作者："+authorElement.getText());}
    }
}
